import request from '@/plugin/axios'

/**
 * @description 应用系统关系接口 
 * @URL http://yapi.demo.qunar.com/project/18256/interface/api/166521
 * @param {Object} param openingSystemId {String} 展开的应用系统的id，多个id逗号分隔，如果是点击重绘
 * @param {Object} param modelId {String} 快照的ID，如果传了这个参数，那么返回的数据就是快照数据，否则返回原始数据
 * @returns {Object} 返回应用系统及ip层的全部图像数据
 */
export function topoDiscoverMapper(data) {
	return request({
		url: '/npm/topo-discover-mapper.html?openingSystemId=' + data.openingSystemId + '&modelId=' + data.modelId,
		method: 'post',
		data
	})
}

/**
 * @description 应用系统点击事件请求接口 
 * @URL http://yapi.demo.qunar.com/project/18256/interface/api/167617
 * @param {Object} param systemId {String} 点击的应用系统的id
 * @param {Object} param openingSystemId {String} 展开的应用系统的id，多个id逗号分隔，如果是点击重绘
 * @param {Object} param eventFlag {String} 填写点击事件的类型，是展开还是收起应用系统。"OPEN"表示展开应用系统，"CLOSE"表示收起应用系统
 * @param {Object} param modelId {String} 快照的ID，如果传了这个参数，那么返回的数据就是快照数据，否则返回原始数据
 * @returns {Object} 返回点击应用系统进行展开或者收起的数据信息。
 */
export function topoDiscoverMapperSystem(data) {
	return request({
		url: '/npm/topo-discover-mapper-system.html?systemId=' + data.systemId + '&openedSystemId=' + data.openedSystemId +
			'&eventFlag=' + data.eventFlag,
		method: 'post',
		data
	})
}

/**
 * @description 获取快照列表 
 * @URL http://yapi.demo.qunar.com/project/18256/interface/api/209172
 * @returns {Object} 获取模型列表，返回所有快照的ID
 */
export function getPositionModel(data) {
	return request({
		url: '/npm/get-position-model.html',
		method: 'post',
		data
	})
}

/**
 * @description 添加快照 
 * @URL http://yapi.demo.qunar.com/project/18256/interface/api/205537
 * @param {Object} param nodePositions {Object []} 节点坐标数组
 * @param {Object} param openedSystemId {String} 保存的拓扑已经展开的应用系统
 * @param {Object} param cmdTimestamp {String} 数据源的标识，在返回拓扑数据的时候一并返回
 * @param {Object} param sessionId {String} 数据源的标识，在返回拓扑数据的时候一并返回
 * @returns {Object}
 */
export function addPositionModel(data) {
	return request({
		url: '/npm/add-position-model.html',
		method: 'post',
		data
	})
}

/**
 * @description 更新快照 
 * @URL http://yapi.demo.qunar.com/project/18256/interface/api/209167
 * @param {Object} param nodePositions {Object []} 节点坐标数组
 * @param {Object} param openedSystemId {String} 更新时，快照已经展开的应用系统
 * @param {Object} param modelId {String} 要更新的快照的ID
 * @returns {Object}
 */
export function updatePositionModel(data) {
	return request({
		url: '/npm/update-position-model.html',
		method: 'post',
		data
	})
}

/**
 * @description 删除快照 
 * @URL http://yapi.demo.qunar.com/project/18256/interface/api/210257
 * @param {Object} param modelId {String} 要删除的快照ID
 * @returns {Object}
 */
export function removePositionModel(data) {
	return request({
		url: '/npm/delete-position-model.html',
		method: 'post',
		data
	})
}
